home *** CD-ROM | disk | FTP | other *** search
- #ifndef lint
- static char rcsid[] = "$Header: output.c,v 1.1 87/02/12 11:07:18 schoch Exp $";
- #endif
-
- #include "externs.h"
- #include <strings.h>
-
- redraw ()
- {
- int i;
-
- if (vtterm) {
- /* make characters double-width on a vt100 type terminal */
- overwrite (stdscr, backupscreen);
- overwrite (blankscreen, stdscr);
- refresh ();
- printf("\0337\033[0;0H\033#6"); /* save cursor, home,
- and widen first line */
- for (i = 1; i <= LINES - 1; i++)
- printf("\n\033#6"); /* wide next line */
- printf("\0338"); /* restore cursor */
- overwrite (backupscreen, stdscr);
- refresh();
- } else
- wrefresh(curscr);
- }
-
- reportchecks (checkdirs, kingloc)
- LIST checkdirs;
- int kingloc;
- {
- LIST l, lmember ();
- int quadrant, n;
- char str [2] [40];
-
- n = 0;
- quadrant = ((kingloc % 10 > 4) == (kingloc/10 < 5));
- if (lmember (-9, checkdirs) || lmember (9, checkdirs))
- if (quadrant == 1)
- strcpy (str[n++], "long diagonal\n");
- else
- strcpy (str[n++], "short diagonal\n");
- if (lmember (-11, checkdirs) || lmember (11, checkdirs))
- if (quadrant == 0)
- strcpy (str[n++], "long diagonal\n");
- else
- strcpy (str[n++], "short diagonal\n");
- if (lmember (-10, checkdirs) || lmember (10, checkdirs))
- strcpy (str[n++], "file\n");
- if (lmember (-1, checkdirs) || lmember (1, checkdirs))
- strcpy (str[n++], "rank\n");
- l = dirlist [KNIGHT];
- while (l != NIL) {
- if (lmember (l->i, checkdirs))
- strcpy (str[n++], "knight\n");
- l = l->n;
- }
- if (n > 0) {
- waddstr (win [CHECK], "check by the\n");
- waddstr (win [CHECK], str[0]);
- }
- if (n == 2) {
- waddstr (win [CHECK], "and ");
- waddstr (win [CHECK], str[1]);
- }
- refresh();
- }
-
- illegal (why, color)
- int color, why;
- {
- wclear (win [LEGAL]);
- if (why == ILLEGAL)
- waddstr (win [LEGAL], "illegal");
- else if (color == ourcolor) {
- if (why == NOMOREPAWNTRIES)
- waddstr (win [LEGAL], "3 pawns tried");
- else if (why == NOWAY)
- waddstr (win [LEGAL], "no way");
- else if (why == AMBIGUOUS)
- waddstr (win [LEGAL], "ambiguous");
- } else
- waddstr (win [LEGAL], "nope");
- }
-